Локальное тестирование
Запуск без Keeper
Можно запустить модуль локально для отладки:
# Создать config.yaml (все поля внутри additional!)
cat > config.yaml <<EOF
additional:
port: 8383
max_chunk_size: 500
api_url: "https://external-system.example.com/api/v1"
api_token: "test-token-for-local-development"
page_size: 100
timeout: 30
responsible_id: "00000000-0000-0000-0000-000000000000"
EOF
# Установить SDK
pip install modulesdk-0.0.2-py3-none-any.whl
# Установить зависимости
pip install -r requirements.txt
# Запустить
CONFIG_FILE=./config.yaml python3 main.py
Проверка эндпоинтов
После запуска модуль слушает на указанном порту:
# Проверить статус
curl http://localhost:8383/scan/status | jq .
# Ответ во время работы:
# {"status": "RUN", "packet_num": 0, "data": {...}}
# Ответ когда данные готовы:
# {"status": "ASSETS_READY", "packet_num": 1, "data": {"host": [...], ...}}
# Подтвердить получение пакета (эмуляция Keeper)
curl -X POST http://localhost:8383/scan/got-packet \
-H "Content-Type: application/json" \
-d '{"packet_num": 1}'
# Остановить модуль
curl -X POST http://localhost:8383/scan/shutdown
Запуск в Docker
docker run --rm \
-e CONFIG_FILE=/app/config.yaml \
-v $(pwd)/config.yaml:/app/config.yaml:ro \
-p 8383:8383 \
my-connector:latest
Переменные окружения
| Переменная | Описание | По умолчанию | Обязательная |
|---|---|---|---|
| CONFIG_FILE | Путь к config.yaml | — | да |
| LOG_LEVEL | Уровень логирования: DEBUG, INFO, WARNING, ERROR | INFO | нет |